[ Top | Up |
Prev | Next |
Map | Index ]
Errors and warnings
This section lists all the errors and warnings which analog can produce,
together with a short explanation.
First, you should understand the difference between a crash, an error, a
warning, and a debugging message. First, a crash is when analog exits
prematurely, without producing the whole output file. The system might give a
message, but analog will not give one of its own messages. Analog should never
crash. If it does crash, please tell me about it.
An error is something which stops analog finishing its job. Whenever
an error is detected, analog gives a message starting something like
analog: Fatal error: and will then tell you what type of thing went
wrong before quitting.
A warning is a problem which is not fatal to analog: it will keep on
with its processing. These vary from the possibly serious, such as files which
could not be found, to purely informational. They produce a message starting
analog: Warning. You can turn warnings off using the
WARNINGS command.
Finally, a debugging message gives information on the state of the
program. They just begin with a single code letter followed by a colon. You
don't get any debugging messages unless you've
asked for them.
Now I shall describe all the possible errors and
warnings in detail.
- Ran out of memory: cannot continue
- Analog ran out of memory. Try increasing the memory available to the
process, if your operating system will allow it, or using the
LOWMEM commands.
- Cannot ignore mandatory configuration file
- See the section in the Readme on the
mandatory configuration file.
- Can't find language file
Language file too short
Language file contains excessively long lines
- Analog can't run without a well-formed language file. See the
documentation on language files.
- Attempted to read more than 50 configuration files
- The most likely explanation for this is that you have accidentally
created a loop using the
CONFIGFILE command, for
example if a configuration file includes itself.
- Incorrect default given in analhead.h
Default given in analhead.h too short
- If you've compiled your own version, and you've specified an incorrect
configuration in the file analhead.h, analog gives up to
allow you to fix it.
- Failed to open output file for writing
- Analog couldn't create, or couldn't write to, the output file you
specified.
- Cache output file already exists: won't overwrite
- Analog won't overwrite an old cache file. You must move or delete it
yourself first.
- OUTFILE and CACHEOUTFILE are the same
- OUTFILE and CACHEOUTFILE both set to stdout
- This can't be what you wanted, because one would overwrite the other.
- OUTPUT NONE and CACHEOUTFILE none selected
- You requested no output.
Remember that warnings are not fatal, and that you can turn them off using the
WARNINGS command. The possible
warnings come in several different categories, shown by a letter in the warning
message. The categories are as follows.
This category indicates an incorrect configuration. Analog will either ignore
what you said, or try and do the best it can with it. There are too many
warnings in this category to list completely. You will have to consult the
documentation for the particular configuration
command that gave an error. If you get an error for a command which used
to work in a previous version of analog, have a look in the section
Updating from older versions.
This is for configurations which might be intended, but which look suspicious.
- LOGFORMAT with no subsequent logfile
- You have specified a LOGFORMAT command, but no
subsequent logfile to which it could be applied. Most likely
you put the LOGFORMAT after the LOGFILE command.
You must put the LOGFORMAT before the LOGFILE
command or use DEFAULTLOGFORMAT instead. See the section on
Specifying a log format for
more details.
- Offset not a multiple of 30
Offset more than 25 hours
- The time offsets are meant to be for
correcting between differences in time zones. These differences are
usually multiples of 30 minutes between -25 and +25 hours. Maybe you
specified the offset in hours instead of minutes by mistake, or
something like that.
- FROM time is later than the present
- Usually this will mean that no entries are counted. Analog doesn't
try and correct it in case the clock on your computer or your server is
wrong -- but you would be better using
TIMEOFFSET or
LOGTIMEOFFSET to correct
those clocks.
- SORTBY doesn't match FLOOR
SORTBY (or FLOOR) isn't included in
COLS
- Within one report, it's helpful to your readers to have the sort method
and the floor compatible, and both included in the COLS.
(See the section on Non-time
reports).
- Time reports have not all got same value of BACK
- It's usually helpful to have all the time
reports running in the same direction.
- Report contains no COLS
- You've got an empty COLS list for one report, so you'll just
get a list of names, not any information about them.
- LOWMEM 3 prevents that item being cached
- You're making a cache file, but one item is
not being recorded because of a
LOWMEM command, and will therefore
not be saved in the cache file.
There is only one warning in this category.
- Redirecting future diagnostic messages
- You've used an ERRFILE command to change the destination of
errors, warnings, debugging and PROGRESSFREQ
diagnostics. This is just warning you so that you don't miss any
messages.
This category is for diagnosing files which couldn't be opened or read
successfully. These can be serious, but most of the messages should be
self-explanatory. There are two worth mentioning specifically.
- Can't auto-detect format of logfile
- The LOGFORMAT is set to automatic
detection, but the first line of the logfile is not in any of the
standard formats. This error can often be generated when you try and specify
your own LOGFORMAT but put it after the LOGFILE command
so that it is not in effect for that logfile.
- DNS lock file already exists
- To stop two copies of analog trying to write the DNS file at the same
time, an empty "lock file" is created, which tells the second
copy of analog to use DNS LOOKUP instead of DNS
WRITE. If analog crashes, it may not delete its lock file. So if you
get the "already exists" message even though no other copy of
analog is running, you may need to delete the lock file yourself.
When analog finishes reading a logfile, it checks whether there might have
been something wrong with it.
- Large number of corrupt lines
- This could indicate a problem with the logfile, or with the
LOGFORMAT specification.
The possible causes are described in the section about
Choosing a logfile.
- Logfiles overlap: possible double counting
- Two logfiles which were counting the same type of item overlapped in
time. Maybe you read two copies of the same logfile. Or maybe the
LOGFORMAT specification
should
have told analog to ignore some of the items. Or it could be that the
logfiles are in fact disjoint and there wasn't really a problem: analog
only checks the dates of the logfiles, not the details of them. In this
last case, the statistics produced will still be correct.
This category is for warnings about logfile formats which might make analog
produce unexpected results.
- Logfile contains lines with no [whatevers], which are being
filtered
- This is usually harmless. It is perhaps best explained by
example. Suppose you are excluding certain
files from the analysis, but that you are also analysing a browser log
which just contains information about the browsers used, not which files
they read. Then we can't exclude the browsers which read the excluded
files, because we don't know which they were, so all browsers will be
included.
- Logfile contains lines with no file names (or bytes): page (or byte)
counts may be low
- If a logfile line doesn't contain a file name, analog will assume that
the request wasn't for a page. Similarly, if it doesn't give the number
of bytes transferred, analog will make the bytes zero. So the number of
page requests or bytes credited to the other items on that line will
then be too low.
This is used when analog turns off an empty report. This could be because none
of the relevant items were included in any of the logfiles, or perhaps
beacause a LOWMEM command stopped them
being recorded.
This is not an analog-generated warning, but it can result from analog closing
a logfile it's uncompressing without reading the whole of it, when it
determines that it will not need it.
Stephen Turner
Personal e-mail: analog-author@lists.isite.net
Need help with analog? Subscribe to the analog-help
mailing list
[ Top | Up |
Prev | Next |
Map | Index ]